VASP.5.4.4编译与安装 |
您所在的位置:网站首页 › 编译器 库 › VASP.5.4.4编译与安装 |
本文所用的Linux发行版本为Debian! 一、安装Intel的编译器与库1. 下载Intel Base与HPC网上的大部分教程安装依赖库和编译器是用Intel Parallel Studio XE,但是这个软件是付费的,学生版License也停止申请了,资源也不好找。所以本文推荐使用免费的Intel® oneAPI Base Toolkit与Intel® oneAPI HPC Toolkit来安装所需要的依赖库和编译器。链接在下方: 操作系统选择Linux,发行版本选择脱机。下方会出现wget下载链接。下载速度比较慢,这里贴上百度网盘地址 https://pan.baidu.com/s/1Mj1fV_2KZvNoxktVG-jLrA?pwd=1234。 2. 安装Intel Base与HPC下载完成之后要修改一下权限,不然会有权限问题,使用下面的命令: $ chmod +x .sh接下来就是安装了,命令如下: $ sudo sh ./.shHPC工具套件体积比较小,可以全部安装。Base套件体积比较大,可以选择安装, 当Base Toolkit 与 HPC Toolkit 安装好之后,安装目录结构如下,例如 mkl 目录: opt/intel/oneapi/mkl/ |-- 2021.2.0 `-- latest -> 2021.2.0其中 2021.2.0 文件夹中内容是运行所需的,本文后面都会使用 代指,其他目录如 mpi 等等都是类似结构。 二、编译环境配置1. oneAPI环境配置Base Toolkit 与 HPC Toolkit 安装好之后就是环境配置,这一步非常关键。先去安装目录,默认在如下 /opt/intel/oneapi查看一下有没有一个 setvars.sh 的文件,如果有,直接运行如下命令(替换 install-dir 为安装目录): $ source /setvars.sh运行结束后可以输入以下命令验证是否正确加载环境变量 $ ifort -v但是这样只是临时加载,可以修改 .bashrc 文件这样就不用每次开启终端都要运行 setvars.sh,直接在 .bashrc 文件末尾添加: source /setvars.sh然后运行 $ source ~/.bashrc重启终端,这样每次启动终端都会加载intel相关的环境。 如果你看不到 setvars.sh 文件,请看第五节。 2. 编译libfftw3xf_intel.a进入到 mkl 目录的 fftw3xf 子目录中,根据个人安装位置做更改 /mkl//interfaces/fftw3xf运行如下命令编译: $ make libintel64如果成功的话就会在当前目录下生成文件 libfftw3xf_intel.a。 三、编译VASP1 . 准备工作这里有一个巨大的坑。在开始编译之前,先运行如下命令来检查你系统是否有 rsync 命令, $ rsync -V如果输出 command not found 则需要如下命令安装 rsync: $ apt-get install rsync如果没问题那就可以继续了。 首先解压 vasp.5.4.4.tar.gz $ tar -zxvf vasp.5.4.4.tar.gz进入到 vasp.5.4.4 文件夹 $ cd vasp.5.4.42. 修改makefile.include文件先贴上 intel 官方出的 vasp 编译教程 在 vasp 文件夹下的子目录中,有几个 makefile.include 的模版,运行下面的命令复制出后缀为 linux_intel 的并重命名为 makefile.include. $ cp arch/makefile.include.linux_intel ./makefile.include首先运行如下命令,检查 MKLROOT 路径是否正确 $ echo $MKLROOT如果输出为 mkl 的安装目录那么可以继续往下。如果输出错误,需要手动修改 .bashrc 文件末尾添加路径: export MKLROOT=/mkl/然后运行如下命令重启终端 $ source ~/.bashrc打开 vasp 目录下的 makefile.include 文件,一些为修改的位置 1 OBJECTS OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o /mkl//interfaces/fftw3xf/libfftw3xf_intel.a添加之前编译好的 libfftw3xf_intel.a 文件位置; 2 FFLAGS FFLAGS = -assume byterecl -w -xHOST添加参数 -w -xHOST; 3 FCL FCL = mpiifort -qmkl=sequential修改为 -qmkl=sequential; 4 INCS INCS =-I$(MKLROOT)/include/fftw -I/mpi//includeINCS 为 include 参数,需要把 mpi 库的 include 文件夹添加,这是一个坑要注意。 5 末尾添加 # For the parser library CXX_PARS = icpc LIBS += parser LLIBS += -Lparser -lparser -lstdc++修改完成然后保存就可以进行编译。 3. 编译在 vasp 目录下运行 $ make默认会编译 std ncl gam 三个版本的可执行文件,也可单独执行 $ make std单独编译 std 版,其他两个也是类似。 等一段时间就会在 bin目录生成 vasp 可执行文件。 四、添加VASP到系统路径1. 添加环境变量根据自己喜好放置 vasp 可执行文件,这里推荐目录 /usr/bin/vasp在系统目录 /usr/bin 下创建文件夹 vasp,进入文件夹后执行复制命令 cp /bin/vasp_std /usr/bin/vasp/vasp_std执行三次,复制三个版本的可执行文件(记得替换 local-vasp.5.4.4-dir 为自己的 vasp 目录),当然你也可以一次性复制 bin 文件夹。 复制结束后需要添加环境变量,打开 .bashrc 文件,添加复制的 vasp 路径 export PATH=/usr/bin/vasp:$PATH然后运行如下命令重启终端: $ source ~/.bashrc继续在新目录下执行如下命令来确认 MKL 有没有和 VASP 成功链接 $ ldd vasp_std输出的结果没有 not found 说明成功链接。 2. 测试 VASP先贴上文件 INCAR、KPOINTS、POSCAR、POTCAR https://pan.baidu.com/s/1EkjuPM3c1Pj0IoqNIJ8vOA?pwd=1234 将上面的文件放到一个文件夹,位置随便,进入到该文件夹,执行如下命令,其中数字 4 是电脑 CPU 核数。 $ mpirun -np 4 vasp_std如果没有出错误 VASP 就会开始计算,运行结束会生成很多文件,打开文件 OUTCAR 拖到最后 如果成功是如图所示的结果。 五、各种坑1. intel 编译器与库的版本有的老教程用的是 Intel® Parallel Studio XE,需要许可证,而且资源较少。 推荐使用免费的Intel® oneAPI Base Toolkit与Intel® oneAPI HPC Toolkit,还能在线更新。 2. oneAPI 环境配置当两个套件安装结束后会有一个非常奇怪的问题,那就是会缺少 setvars.sh,导致配置环境变量非常麻烦。有两个解决办法: (1). 重新运行安装文件,会有出现一个 repair 的选项 等运行完就会在套件安装目录出现 setvars.sh 文件。 (2). 手动配置环境变量 直接在 .bashrc 文件添加如下内容 export PATH=/compiler//linux/bin/intel64:$PATH export PATH=/mpi//bin:$PATH export LD_LIBRARY_PATH=/mkl//lib/intel64:$LD_LIBRARY_PATH然后执行 $ source ~/.bashrc在编译的时候其实可能会遇到其他 mpi 或者 mkl 库的缺失,根据缺失的文件可以执行下面的命令 $ find / -name “lost-file-name”找到文件后可以继续添加路径到 .bashrc 文件中, export LD_LIBRARY_PATH=:$LD_LIBRARY_PATH3. rsync 命令这是一个非常巨大的坑,起初我以为是环境配置错误,后来才发现 rsync 是一个命令,建议编译之前先安装 $ sudo apt-get install rsync4. makefile.include文件这里主要有两个坑 (1). INCS 这里编译的时候会提示 mpi 相关文件缺失,在 makefile.include 文件中添加上 mpi 的 include 文件夹 INCS =-I$(MKLROOT)/include/fftw -I/mpi//include(2). 添加参数 # For the parser library CXX_PARS = icpc LIBS += parser LLIBS += -Lparser -lparser -lstdc++六、结尾其实只要 intel 的相关工具安装正确,离 VAPS 编译成功就不远了。有问题搜一搜。 祝各位顺利! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |